// @filename   chat.js
// @version    0.2
// @author     shawphy(shawphy@gmail.com),fantasy(foxlw66@gmail.com)
// @update     2009-9-7

//全局变量
var GET_FRIS_URL = site_url+"/index.php?s=/Chat/getFriends";
var SEND_MSG_URL = site_url+"/index.php?s=/Chat/sendMsg";
var RECEIVE_MSG_URL = site_url+"/index.php?s=/Chat/receiveMsg";
var DEL_RECORD_URL = site_url+"/index.php?s=/Chat/delRecord";
var RECEIVE_RECORD_URL = site_url+"/index.php?s=/Chat/receiveRecord";
var MIN_PIC_URL = theme_url+"/im/images/minimize.gif";
var MAX_PIC_URL = theme_url+"/im/images/maximize.gif";
var FACE_URL = theme_url+"/im/images/face";
var CHECK_FRI_TIME = 25000;
var MOFA_URL = site_url+"/index.php?s=/Chat/mofa";
var CHECK_CHAT_TIME = 5000;

(function($) {


	//劫持全局的alert
	var errorInfoTimeoutId=0;
//	var alert=function(info) {
//		$("#errorInfoContent").text(info);
//		$("#errorInfo").css("left",$(window).width()/2-$("#errorInfo").width()/2).queue([]).fadeIn();
//		clearTimeout(errorInfoTimeoutId);
//		errorInfoTimeoutId=setTimeout(function() {
//			$("#errorInfo").fadeOut();
//		},3000);
//	}
	$("#errorInfo>button").click(function() {
		$(this).parent().fadeOut();
	});
	var imbox=$("#imbox");

    updateFriList();
	 //绑定最大化最小化
	imbox.find("h1").find("span").click(function() {
        if (imbox.hasClass("min")) {
               updateFriList('max');
        }else {
            imbox.addClass("min");
            $(this).find("img").attr("src",MAX_PIC_URL);
            $("#friend_list").html('');
            $("#imboxAd").show();
        };
	});

		//每15s查看下有无好友上线
	setInterval("updateFriList2()", CHECK_FRI_TIME);

    //更新好友列表
    function updateFriList(type) {
		//var open_df_id = $("#open_df_id").val();
        $.post(GET_FRIS_URL,{},function(json){
			
            $("#friend_list").empty();
             var online_num = 0;
            //构造在线好友列表
            for(var i=0,h=json.length;i<h;i++){

					//var dis_none = '';
					//if(json[i]["uid"] == open_df_id) dis_none = "style='display:none'";

                     online_num++;

					 var head = json[i]["head"];
                     var mini = json[i]["mini"]?'('+json[i]["mini"]+')':'';
                     $("#friend_list").append('<li><a href="#" id="'+json[i]["uid"]+'"><img width="25" src="'+head+'" /><span class="name">'+json[i]["uname"]+'</span><span>'+mini+'</span></a></li>');
				
             }
            //在线好友数
             $("#online_num").text('在线好友('+online_num+')');


             //重复绑定事件
            openChatBind();

			if(type != "get_fri"){
				 if(type == 'max'){
					 //在线好友列出来
					 imbox.removeClass("min");
					  //把右上角的图片改为最小化
					 $("#right_top").attr("src",MIN_PIC_URL);
					 //广告隐藏,im页才有效
					 $("#imboxAd").hide();
				 }else{
					 //打开普通页传来的参数
					$(location.hash).click();
					location.hash="#";
				 }
				 checkChat();			
			}

         },"json");
    }





	//聊天页面聊天好友标签切换
	$("#chatfriend>li>span.switch_user").each(function(i){
		$(this).click(function(e){
			e.preventDefault();
            //alert($(this).attr("class"));

			$(this).parent().addClass("a1").removeClass("newmsg").siblings().removeClass("a1");
			$("#chatcontent>div>div").hide().eq(i).show();
		});
	});

	//关闭聊天窗口
	$("#closeChat").click(function(){
		if ($("#chatfriend>li:visible")[1]) {
			var a1=$("#chatfriend>li.a1").hide();
			a1[a1.nextAll(":visible")[0]?"nextAll":"prevAll"](":visible").eq(0).click();
		}
		return false;
	});

	//聊天页弹出窗口
	var openChatBind=function() {
		$("#friend_list>li>a").click(function(evt){
			//alert(this.id);
          //  $(this).unbind("click");
			evt.preventDefault();
			var a1=$("#chatfriend>li.a1");
			//阻止同一个聊天口多开
			$("#title_"+this.id+":hidden").appendTo("#chatfriend").show();
			if ($("#title_"+this.id+">span.switch_user").click()[0]) return false;

			//alert(this.id+this.innerText+"被点击了");
            var name = $(this).find('.name').text();
			var remove_a1_id =  $("#chatfriend>li.a1").attr("id");
            $("#chatfriend>li").removeClass('a1');
            $("#chatfriend").append('<li class="a1" id="title_'+this.id+'" ><span class="switch_user">'+name+'</span><a class="im_ico_close" href="###" onclick="close_chat_tab('+this.id+')"></a></li>');
			//防止打开的窗口过多
			if ($("#chatfriend")[0].scrollHeight>45) {
				$("#title_"+this.id).remove();
			
				$("#"+remove_a1_id).addClass("a1");
				alert("对不起，您开的聊天视口太多，请关闭几个再试，谢谢。");
				return;
			};
            //内容显示其他的div hide，新建的这个显示
            $("#chatcontent>div>div").hide();
            $("#chatcontent>div").append('<div id="con_'+this.id+'"></div>');
            //重新绑定一般tab切换
            $("#chatfriend>li>span.switch_user").unbind("click").each(function(i){
                $(this).click(function(e){
                    e.preventDefault();
					var the_id = $(this).parent().attr("id").match(/\d+/)[0];
                   
                    $(this).parent().addClass("a1").removeClass("newmsg").siblings().removeClass("a1");
                    //$("#chatcontent>div>div").hide().eq(i).show();
					$("#chatcontent>div>div").hide();
					$("#con_"+the_id).show();
                });
	        });
		});
	}



	//选择字体
	$("#setFont").toggle(function(e){
		$(this).addClass("hover");
		$("#font").css({
			"left":$(e.target).offset().left,
			"top":$(e.target).offset().top-38
		}).fadeIn();
		return false;
	},function(e){
		$(this).removeClass("hover");
		$("#font").fadeOut();
		return false;
	});
	$("#font").click(function(e){
		return false;
	});
	$("#font b,#font i,#font u").hover(function() {
		$(this).addClass("hover");
	},function() {
		$(this).removeClass("hover");
	}).toggle(function() {
		$(this).addClass("on");
	},function() {
		$(this).removeClass("on");
	});
	$("#fontFamily").change(function() {
		$("#msg").css("font-family",$(this).val());
	});
	$("#fontSize").change(function() {
		$("#msg").css("font-size",$(this).val()+"pt");
	});
	$("#font b").click(function(){
		$("#msg").css("font-weight",$(this).hasClass("on")?"bold":"");
	});
	$("#font i").click(function(){
		$("#msg").css("font-style",$(this).hasClass("on")?"italic":"");
	});
	$("#font u").click(function(){
		$("#msg").css("text-decoration",$(this).hasClass("on")?"underline":"");
	});
	//调色板
	var orgrgb=$("#colorHex").val();
	$("#colorHex").click(function(){
		$("#colorpicker").parent().fadeIn();
	});
	$("#colorpicker").mousemove(function(e){
		var oft={
			left:e.originalEvent.x||e.originalEvent.layerX||0,
			top:e.originalEvent.y||e.originalEvent.layerY||0
		}
		var rgb=[0,0,0];
		var totleWidth=189/6;
		switch (true) {
		case oft.left<(totleWidth*1):
			rgb[0]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			rgb[1]=parseInt(parseInt(oft.left/2)*2/totleWidth*256);
			rgb[1]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[1]*oft.top/7):(rgb[1]*(15-oft.top)/7));
			rgb[2]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			break;
		case oft.left<(totleWidth*2):
			rgb[0]=parseInt((parseInt(oft.left/2)*2-totleWidth*2)/totleWidth*-256);
			rgb[0]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[0]*oft.top/7):(rgb[0]*(15-oft.top)/7));
			rgb[1]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			rgb[2]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			break;
		case oft.left<(totleWidth*3):
			rgb[0]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			rgb[1]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			rgb[2]=parseInt((parseInt(oft.left/2)*2-totleWidth*2)/totleWidth*256);
			rgb[2]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[2]*oft.top/7):(rgb[2]*(15-oft.top)/7));
			break;
		case oft.left<(totleWidth*4):
			rgb[0]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			rgb[1]=parseInt((parseInt(oft.left/2)*2-totleWidth*4)/totleWidth*-256);
			rgb[1]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[1]*oft.top/7):(rgb[1]*(15-oft.top)/7));
			rgb[2]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			break;
		case oft.left<(totleWidth*5):
			rgb[0]=parseInt((parseInt(oft.left/2)*2-totleWidth*4)/totleWidth*256);
			rgb[0]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[0]*oft.top/7):(rgb[0]*(15-oft.top)/7));
			rgb[1]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			rgb[2]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			break;
		case oft.left<(totleWidth*6):
			rgb[0]=parseInt(oft.top<7?255:255*(oft.top-15)/-7);
			rgb[1]=parseInt(oft.top<7?255*(7-oft.top)/7:0);
			rgb[2]=parseInt((parseInt(oft.left/2)*2/-totleWidth*6)/totleWidth*-256);
			rgb[2]=parseInt(oft.top<7?(255*(7-oft.top)/7+rgb[2]*oft.top/7):(rgb[2]*(15-oft.top)/7));
			break;
		case oft.top<7:rgb=[255,255,255];
		}

		$("#colorHex").val("rgb("+rgb+")");
		$("#msg").css("color","rgb("+rgb+")");
	}).mousedown(function() {
		orgrgb=$("#colorHex").val();
		$(this).parent().hide();
	}).mouseout(function(){
		$("#colorHex").val(orgrgb);
		$("#msg").css("color",orgrgb);
	});

//魔法表情hover
	$("#mofa_bq").hover(function(){
		$("#mofa_lists").show().hover(function(){
			$(this).show();
		},function(){
			$(this).hide();
		});
	},function(){
		$("#mofa_lists").hide();
	});
	$("#mofa_bq").children().hover(function(){
		$(this).addClass("hover");
	},function() {
		$(this).removeClass();
	});
//end


	//发送表情
	$("#sendFace").hover(function(){
		$("#facepanel").show();
	},function(){
		$("#facepanel").hide();
	});
	$("#facepanel").click(function(e) {
		e.stopPropagation();
	});
	$("#facepanel>img").click(function(e){
		//输出图片的alt属性地址
        var face = "["+$(this).attr("alt")+"]";
        var msg = $("#msg").val();
        $("#msg").val(msg+face);
	});
	$("#facepanel").children().hover(function(){
		$(this).addClass("hover");
	},function() {
		$(this).removeClass();
	});
	//发送图片
	$("#sendImg").click(function(e){
		$("#imgurlInputWrap").css("left",e.pageX+30).queue([]).fadeIn();
	});
	$("#imgurlInputWrap>button.cancel").click(function(){
        $("#imgurlInput").val('');
		$(this).parent().fadeOut();
	});
	$("#imgurlInputWrap>button.ok").click(function(){
		var imgurl=$("#imgurlInput").val();
        $("#imgurlInput").val('');
		if (!/^(ht)|(f)tp:\/\/.*$/.test(imgurl)) {
			imgurl="http://"+imgurl;
		};
		//输出imgurl地址
	   // imgurl = "<img src='"+imgurl+"'/>";
	   // var imgname = "["+imgurl.match(/\w+\.(jpg|gif|png|bmp)/)[0]+"]";
	   var test = imgurl.match(/\w+\.(jpg|gif|png|bmp)$/);
	   if(!test){
			alert("您输入的图片url不正确！");
			return;
	   }
		$(this).parent().fadeOut();
	   var imgname = "["+imgurl+"]";
		var msg = $("#msg").val();
		$("#msg").val(msg+imgname);
	});
    //发送按钮
    $("#sendMsg").click(function(){
		try{
			var df_id = $("#chatfriend").find(".a1").attr("id").match(/\d+/)[0];
		}catch(e){
		
		}
        
		if(!df_id) {alert("请选择一个好友:)");return;}

        var msg = $("#msg").val();

        if(msg.replace(/(^\s*)|(\s*$)/g,"")==''){
            return;
        }

        var msg_style = $("#msg").attr("style");
        //alert(style);


        msg = str2html(msg);

        dis_msg= msg.replace(/\[(\w*)\]/g,'<img src="'+FACE_URL+'/$1.gif" />');
        //dis_msg= dis_msg.replace(/\[http:\/\/(.*)\]/g,'<img src="http:\/\/$1"/>');
        // dis_msg= dis_msg.replace(/\[http:\/\/([^\[]*)\]/g,'<img src="http:\/\/$1"/>');
        dis_msg= dis_msg.replace(/\[http:\/\/(.*?)\]/g,'<img src="http:\/\/$1"/>');



        $("#msg").val('');
        //获取当前时间
        var now = new Date();
		var minite = (now.getMinutes()<10)?"0"+now.getMinutes():now.getMinutes();
        var msg_time= now.getHours()+":"+minite;
        var style_msg = "<div style='"+msg_style+"'>"+dis_msg+"</div>";

		//彩蛋 --- 魔法表情
	    var regMofa = /\[魔法表情\d+\]/gi;
		var is_mofa = regMofa.test(dis_msg);  //true 

	    var mofa_num = is_mofa?dis_msg.match(/\d+/)[0]:0;
		if(mofa_num)  {play_swf(mofa_num);} 
		//end

        $("#chatcontent>div>div:visible").append("<span class='me'>我 "+msg_time+"：</span>"+style_msg).each(function() {
			this.scrollTop=this.scrollHeight;
        });
        $.post(SEND_MSG_URL,{df_id:df_id,msg:style_msg,msg_time:msg_time},function(txt){
           if(!txt){
                $("#chatcontent>div>div:visible").append("<br/><span style='color:red;'>刚才的["+style_msg+"]发送失败，请稍后再试！</span><br/>");
           }
        });
    });
	$(document).keydown(function(e) {
		if (e.ctrlKey&&e.which==13) {
			$("#sendMsg").click();

		}
	});
    //轮询接收，4s一次
    setInterval(checkChat, CHECK_CHAT_TIME);

//接收聊天信息
function checkChat(){
    var para = '';
	$("#friend_list").children().children().each(function(i){
		para += 'id[' + i + ']=' + $(this).attr("id") + '&';
	});

  $.post(RECEIVE_MSG_URL, para, function(json){
      if (json) {
       var flag = false;

        for (var k = 0; k < json.length; k++) {


            var dis_msg = json[k]['msg'].replace(/\[(\w*)\]/g,'<img src="../Public/images/face/$1.gif" />');
            dis_msg= dis_msg.replace(/\[http:\/\/(.*)\]/g,'<img src="http:\/\/$1"/>');


		   var regMofa = /\[魔法表情\d+\]/gi;
		   var is_mofa = regMofa.test(dis_msg);  //true 

		   var mofa_num = is_mofa?dis_msg.match(/\d+/)[0]:0;

            df_id = json[k]['id'];

            //如果一个也没打开
            if($("#chatfriend").find(".a1")[0] == null){
                fri_list_msg(df_id,dis_msg,json[k]['dis_time'],1,mofa_num);
				if(!g_blinkid) g_blinkid = setInterval(blinkNewChat,1000); //title提示
                return;
            }

            //另外三种情况，第一种，当前正好打开的接收到信息
             var visible_id = $("#chatfriend").find(".a1").attr("id").match(/\d+/)[0];

            if(df_id == visible_id){
                var df_name = $("#chatfriend").find(".a1").text();
				if(mofa_num)  {play_swf(mofa_num);} //魔法表情
                $("#chatcontent>div>div:visible").append("<span class='friend'>"+df_name+" "+json[k]['dis_time']+"：</span>"+dis_msg);
                return;
             }
	
            //第二种，tab中打开了，但是不是当前
			var two_way = false;
            $("#chatfriend>li:visible:not(.a1)").each(function(i){
                var hid_id = $(this).attr('id').match(/\d+/)[0];
                if(df_id == hid_id){
                    var df_name=$("#title_"+df_id).addClass("newmsg").text();
					if(mofa_num)  play_swf(mofa_num); //魔法表情
				
                    $("#con_"+df_id).append("<span class='friend'>"+df_name+" "+json[k]['dis_time']+"：</span>"+dis_msg);
					if(!g_blinkid) g_blinkid = setInterval(blinkNewChat,1000);  //title提示
					two_way = true;
                    return;
                }
            });

			if(two_way) return;



            //第三种，(如果能走到这一步，就是)好友列表中有，tab中没有

            fri_list_msg(df_id,dis_msg,json[k]['dis_time'],null,mofa_num);
            $("#title_"+df_id).addClass("newmsg");
			if(!g_blinkid) g_blinkid = setInterval(blinkNewChat,1000); //title提示

         }
      }
	  $("#chatcontent>div>div").each(function() {
		this.scrollTop=this.scrollHeight;
	  });
  },"json");
}

//好友列表有消息
function fri_list_msg(df_id,dis_msg,dis_time,flag,mofa_num) {

        var name = $("#"+df_id).find('.name').text();


        //如果之前打开过
        if($("#title_"+df_id)[0]){
             $("#title_"+df_id).appendTo("#chatfriend").show();
			 if(mofa_num)  play_swf(mofa_num); //魔法表情
             $("#con_"+df_id).append("<span class='friend'>"+name+" "+dis_time+"：</span>"+dis_msg);
        //如果之前没打开
        }else{
             if(!flag){
                 $("#chatfriend").append('<li  id="title_'+df_id+'" ><span class="switch_user">'+name+'</span><a class="im_ico_close" href="###" onclick="close_chat_tab('+df_id+')"></a></li>');
             }else{
                $("#chatfriend").append('<li  class="a1" id="title_'+df_id+'" ><span class="switch_user">'+name+'</span><a class="im_ico_close" href="###" onclick="close_chat_tab('+df_id+')"></a></li>');
             }

			 //防止打开的窗口过多
			if ($("#chatfriend")[0].scrollHeight>45) {
				$("#title_"+df_id).remove();
				//var a1=$("#chatfriend>li.a1");
				//a1.click();
				alert("对不起，您开的聊天视口太多，请关闭几个再试，谢谢。");
				return;
			};


			 if(mofa_num)  play_swf(mofa_num); //魔法表情
             $("#chatcontent>div").append('<div id="con_'+df_id+'"><span class="friend">'+name+' '+dis_time+'：</span>'+dis_msg+'</div>');


            //重新绑定一般tab切换
            $("#chatfriend>li>span.switch_user").unbind("click").each(function(i){
                $(this).click(function(e){
                    e.preventDefault();
					var the_id = $(this).parent().attr("id").match(/\d+/)[0];
          
                    $(this).parent().addClass("a1").removeClass("newmsg").siblings().removeClass("a1");
                    //$("#chatcontent>div>div").hide().eq(i).show();
					$("#chatcontent>div>div").hide();
					$("#con_"+the_id).show();
                });
            });

        }


}

//绑定聊天记录
$("#receiveRecord").click(function(){
     var visible_id = $("#chatfriend").find(".a1").attr("id").match(/\d+/)[0];
     $.post(RECEIVE_RECORD_URL, {df_id:visible_id}, function(json){
        //alert(json);
        if(json){
            $("#chatcontent>div>div:visible").empty();
           for (var k = 0; k < json.length; k++) {
                var dis_msg = json[k]['msg'].replace(/\[(\w*)\]/g,'<img src="../Public/images/face/$1.gif" />');
                dis_msg= dis_msg.replace(/\[http:\/\/(.*)\]/g,'<img src="http:\/\/$1"/>');

                //如果是对方的聊天记录
                if(json[k]['fromUserId'] == visible_id){
                   var df_name = $("#chatfriend").find(".a1").text();
                   $("#chatcontent>div>div:visible").append("<span class='friend'>"+df_name+" "+json[k]['disTime']+"：</span><div>"+dis_msg+"</div>");
                //如果是我的聊天记录
                }else{
                    $("#chatcontent>div>div:visible").append("<span class='me'>我 "+json[k]['disTime']+"：</span><div>"+dis_msg+"</div>");
                }

           }
            $("#chatcontent>div>div:visible").append("<hr><span style='color:#ACA899'>(以上是你们之间的聊天记录，你可以点击<a href='#' class='clearRecord'>清除</a>)</span><br/>").each(function() {
		    	this.scrollTop=this.scrollHeight;
           });

            $(".clearRecord").click(clearRecord);
        }else{
            alert("暂无聊天记录!");
        }

     },"json");
});

//清除聊天记录
function clearRecord() {
    var visible_id = $("#chatfriend").find(".a1").attr("id").match(/\d+/)[0];
    $.post(DEL_RECORD_URL, {df_id:visible_id}, function(txt){
        if(txt){
            $("#chatcontent>div>div:visible").empty();
            alert('你们之间的聊天记录已清除！');
        }
    });
}

function str2html(msg){
	return msg.replace(/&/g,"&amp;")
		.replace(/</g,"&lt;")
		.replace(/>/g,"&gt;")
		.replace(/ /g,"&nbsp;")
		.replace(/\"/g,"&quot;")
		.replace(/\'/g,"&apos;")
		.replace(/\n/g,"<br />");
}



	/*-------------------------------------
	= title提示
	-------------------------------------*/
	var g_blinkswitch = 0;
	var g_blinktitle = document.title;
	var g_blinkid;

	//title闪烁"你有新的聊天消息"
	function blinkNewChat(){
		document.title = g_blinkswitch % 2 ? "○你有新的聊天消息 - " + g_blinktitle : "●你有新的聊天消息 - " + g_blinktitle;
		g_blinkswitch++;
		(g_blinkswitch > 6)?stopBlinkNewMsg():'';
	}


	//停止title闪烁
	function stopBlinkNewMsg(){
		if (g_blinkid){
			clearInterval(g_blinkid);
			g_blinkid = 0;
			g_blinkswitch = 0;
			document.title = g_blinktitle;
		}
	}

//所有方法都写在闭包里边，以避免污染全局空间。
})(jQuery);

function close_chat_tab(id){

	$("#chatfriend>li").removeClass("a1");
	$(".msgwrap>div").hide();


	if($("#title_"+id).next()[0]){
		$("#title_"+id).next().addClass("a1");
		$("#con_"+id).next().show();
	}else{
		$("#title_"+id).prev().addClass("a1");
		$("#con_"+id).prev().show();
	}
	

	//标题
	$("#title_"+id).remove();
	//聊天内容清空
	//$("#chatcontent>div>div:visible").html("");
	//$("#chatcontent>div>div:visible").remove();
	$("#con_"+id).remove();




}

//更新好友列表
var openChatBind=function() {
	$("#friend_list>li>a").click(function(evt){
		//alert(this.id);
	  //  $(this).unbind("click");
		evt.preventDefault();
		var a1=$("#chatfriend>li.a1");
		//阻止同一个聊天口多开
		$("#title_"+this.id+":hidden").appendTo("#chatfriend").show();
		if ($("#title_"+this.id+">span.switch_user").click()[0]) return false;

		//alert(this.id+this.innerText+"被点击了");
		var name = $(this).find('.name').text();
		var remove_a1_id =  $("#chatfriend>li.a1").attr("id");
		$("#chatfriend>li").removeClass('a1');
		
		$("#chatfriend").append('<li class="a1" id="title_'+this.id+'" ><span class="switch_user">'+name+'</span><a class="im_ico_close" href="###" onclick="close_chat_tab('+this.id+')"></a></li>');
		//防止打开的窗口过多
		if ($("#chatfriend")[0].scrollHeight>45) {
			$("#title_"+this.id).remove();
			
			$("#"+remove_a1_id).addClass("a1");
			alert("对不起，您开的聊天视口太多，请关闭几个再试，谢谢。");
			return;
		};
		//内容显示其他的div hide，新建的这个显示
		$("#chatcontent>div>div").hide();
		$("#chatcontent>div").append('<div id="con_'+this.id+'"></div>');
		//重新绑定一般tab切换
		$("#chatfriend>li>span.switch_user").unbind("click").each(function(i){
			$(this).click(function(e){
                    e.preventDefault();
					var the_id = $(this).parent().attr("id").match(/\d+/)[0];
                    $(this).parent().addClass("a1").removeClass("newmsg").siblings().removeClass("a1");
                    //$("#chatcontent>div>div").hide().eq(i).show();
					$("#chatcontent>div>div").hide();
					$("#con_"+the_id).show();
			});
		});
	});
}

function updateFriList2() {
	//var open_df_id = $("#open_df_id").val();
	var GET_FRIS_URL_ONLINE = site_url+"/index.php?s=/Chat/getFriends_online";
	$.post(GET_FRIS_URL_ONLINE,{},function(json){
		
		$("#friend_list").empty();
		 var online_num = 0;
		//构造在线好友列表
		for(var i=0,h=json.length;i<h;i++){

				//var dis_none = '';
				//if(json[i]["uid"] == open_df_id) dis_none = "style='display:none'";

				 online_num++;

				 var head = json[i]["head"];
				 var mini = json[i]["mini"]?'('+json[i]["mini"]+')':'';
				 $("#friend_list").append('<li><a href="#" id="'+json[i]["uid"]+'"><img width="25" src="'+head+'" /><span class="name">'+json[i]["uname"]+'</span><span>'+mini+'</span></a></li>');
			
		 }
		//在线好友数
		 $("#online_num").text('在线好友('+online_num+')');

		 //重复绑定事件
		openChatBind();

	 },"json");
}
//end

function play_swf(num){

		var is_playing = $.trim($("#play_swf").html());
		if(is_playing) return;
		
		var sound = '<embed  src="' + theme_url + '/im/flash/mf_'+num+'.swf" scale="ShowAll" NAME="WMode" VALUE="Opaque" menu="menu" wmode="transparent" quality="1" type="application/x-shockwave-flash"></embed>';
		$("#play_swf").html(sound);
		setTimeout(function(){$("#play_swf").html('');},5000);

}

function send_mofa(num){
	var mofa = "[魔法表情"+num+"]";
	$("#msg").val(mofa);
	$("#sendMsg").click();
	play_swf(num);
}